package com.cmdi.opensite.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cmdi.opensite.entity.Comment;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 评价Mapper接口
 */
@Mapper
public interface CommentMapper extends BaseMapper<Comment> {
    
    /**
     * 查询活动的评价列表（带用户信息）
     */
    IPage<Comment> selectActivityComments(IPage<Comment> page, @Param("activityId") Long activityId);
    
    /**
     * 查询用户是否已评价活动
     */
    Comment findByActivityIdAndUserId(@Param("activityId") Long activityId, @Param("userId") Long userId);
    
    /**
     * 计算活动的平均评分
     */
    Double calculateAverageScore(Long activityId);
    
    /**
     * 统计活动的评价数量
     */
    int countCommentsByActivityId(Long activityId);
}